﻿/*----------------------------------------------------------------
// Copyright (C) 2012
// 版权所有
//
// 文件名：IOrderOnline_User.cs
// 文件功能描述：
//
//
// 创建标识：Libing 2012-05-08 18:34:51 星期二
//
// 修改标识：
// 修改描述：
//----------------------------------------------------------------*/

using System;
using System.Collections.Generic;
using System.Text;

namespace WMS.IDAL
{
    public interface IOrderOnline_User
    {
        #region 基本方法

        /// <summary>
        /// 添加实体
        /// </summary>
        /// <param name="orderOnlineUser">类型为 WMS.Model.OrderOnline_User 的实体</param>
        /// <returns></returns>
        bool Insert(WMS.Model.OrderOnline_User orderOnlineUser);

        /// <summary>
        /// 修改实体
        /// </summary>
        /// <param name="orderOnlineUser">类型为 WMS.Model.OrderOnline_User 的实体</param>
        /// <returns></returns>
        bool Update(WMS.Model.OrderOnline_User orderOnlineUser);

        /// <summary>
        /// 最小修改实体
        /// </summary>
        /// <param name="model">类型为WMS.Model.OrderOnline_User的实体</param>
        /// <returns></returns>
        bool UpdateMinimal(WMS.Model.OrderOnline_User orderOnlineUser);

        /// <summary>
        /// 删除实体(指定条件)
        /// </summary>
        /// <param name="whereClause">WHERE语句</param>
        /// <returns></returns>
        bool DeleteDynamic(string whereClause);

        #endregion

        #region	公共方法

        /// <summary>
        /// 获取实体列表(指定数目和查询条件)
        /// </summary>
        /// <param name="topClause">指定实体数</param>
        /// <param name="whereClause">WHERE语句</param>
        /// <returns></returns>
        List<WMS.Model.OrderOnline_User> Get(int topClause, string whereClause);

        /// <summary>
        /// 获取实体列表(指定查询条件)
        /// </summary>
        /// <param name="whereClause">WHERE语句</param>
        /// <returns></returns>
        List<WMS.Model.OrderOnline_User> Get(string whereClause);

        /// <summary>
        /// 获取分页实体列表
        /// </summary>
        /// <param name="whereClause">WHERE 语句</param>
        /// <param name="orderByClause">ORDER BY 语句</param>
        /// <param name="pageIndex">分页索引</param>
        /// <param name="pageSize">分页大小(每页显示的记录数)</param>
        /// <param name="totalRecords">记录总数</param>
        /// <returns></returns>
        List<WMS.Model.OrderOnline_User> GetPaged(string whereClause, string orderBy, int pageIndex, int pageSize, out int totalRecords);

        #endregion

        #region 自定义方法

        /// <summary>
        /// 删除实体(根据主键 ID)
        /// </summary>
        /// <param name="id">主键ID</param>
        /// <returns></returns>
        bool DeleteByID(string id);

        /// <summary>
        /// 获取实体(根据主键 ID)
        /// </summary>
        /// <param name="id">主键ID</param>
        /// <returns></returns>
        WMS.Model.OrderOnline_User GetByID(string id);

        /// <summary>
        /// 根据过滤条件获取分页实体列表
        /// </summary>
        /// <param name="userName">用户名</param>
        /// <param name="realName">姓名</param>
        /// <param name="pageIndex">分页索引</param>
        /// <param name="pageSize">分页大小(每页显示的记录数)</param>
        /// <param name="totalRecords">记录总数</param>
        /// <returns></returns>
        List<WMS.Model.OrderOnline_User> GetFilterPaged(string userName, string realName, string supperGuideId, int pageIndex, int pageSize, out int totalRecords);

        /// <summary>
        /// 检查用户名是否已存在
        /// </summary>
        /// <param name="userName">用户名</param>
        /// <returns></returns>
        bool Exists(string userName);

        /// <summary>
        /// 根据LoginID获取实体
        /// </summary>
        /// <param name="loginID">登录ID</param>
        /// <returns></returns>
        WMS.Model.OrderOnline_User GetByLoginID(string loginID);

        /// <summary>
        /// 判断用户的AdminNew
        /// </summary>
        /// <param name="loginID">用户ID</param>
        /// <returns></returns>
        bool CheckDeleteByAdminNew(string loginID);

        /// <summary>
        /// 判断角色是否存在用户
        /// </summary>
        /// <param name="roleID">角色ID</param>
        /// <returns></returns>
        bool CheckExistsByRoleID(string roleID);

        #endregion
    }
}
